package com.enjava;

import java.io.Serializable;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

@ManagedBean
@SessionScoped
public class WizardBean implements Serializable{

	private static final long serialVersionUID = 1L;
	@ManagedProperty(value="#{emf}")
	EMF emf;

	
	int contador=1;
	Curso curso=new Curso();
	Alumno alumno=new Alumno();
	Examen examen=new Examen();
	
	
	
	public Curso getCurso() {
		return curso;
	}
	public void setCurso(Curso curso) {
		this.curso = curso;
	}
	public Alumno getAlumno() {
		return alumno;
	}
	public EMF getEmf() {
		return emf;
	}
	public void setEmf(EMF emf) {
		this.emf = emf;
	}
	public int getContador() {
		return contador;
	}
	public void setContador(int contador) {
		this.contador = contador;
	}
	public void setAlumno(Alumno alumno) {
		this.alumno = alumno;
	}
	public Examen getExamen() {
		return examen;
	}
	public void setExamen(Examen examen) {
		this.examen = examen;
	}
	public String next(){
		contador++;
		System.out.println("contador:"+contador);
		return "paso"+contador+"?faces-redirect=true";
	}
	public String back(){
		contador--;
		System.out.println("contador:"+contador);
		return "paso"+contador+"?faces-redirect=true";
	}
	
	public String finaliza(){
		
		EntityManager em = emf.getEM();
		EntityTransaction transaction = em.getTransaction();
		transaction.begin();
		curso.getAlumnos().add(alumno);
		curso.getExamenes().add(examen);
		em.persist(curso);
		transaction.commit();
		
		return "pasoOk";
	}
	public String inicio(){
		contador=1;
		return "paso1?faces-redirect=true";
	}

}
